home *** CD-ROM | disk | FTP | other *** search
- Short: MPEG audio player for Delfina DSP
- Author: Smack/Infect! (Michael Henke)
- Type: mus/play
-
- $VER: DelfMPEG 0.9 (Tue 29-Oct-2002)
-
-
-
- #features
-
- -plays MPEG audio files with almost no CPU load
- (Delfina's DSP56002 does all the decoding and playback)
-
- -supports MPEG-1 layer II and III
-
- -NEW: can write the decoded data to a file
-
- -ARexx interface
- (full 'remote control' capability)
-
- -multi-stage buffering system
- (for smooth playback while loading from disk)
-
- -free software (full source code included, of course)
-
-
-
- #required
-
- -CPU 68020+
- -AmigaOS V37+
- -Delfina DSP board
- -asyncio.library V39+
-
- -developed on A1200 - OS3.1/68030+882@40MHz/16MBFastRAM/Delfina1200DSP
- -tested on various machines with Delfina1200, Delfina Lite or Plus
-
-
-
- #recommended
-
- -reqtools.library V38+
- -latest version of delfina.library
- (currently 4.14, see also 'known problems' section)
- -some MPEG audio files :)
-
-
-
- #changes since previous release
-
- -mp3 decoder: tiny speedup; uses less DSP memory; output level corrected
- -mp2 decoder: output level corrected
- -OUTFILE option added (write decoded data to a file)
-
-
-
- #how to use
-
- DelfMPEG is a shell-only program. The following options can be used:
-
- FILES ......... -one or more filenames. (MPEG files or playlists)
- -if omitted a reqtools file requester appears.
- -if a file is not recognized as MPEG-1 audio then it is
- interpreted as a playlist file. playlists are simple text
- files that can be generated by popular player programs,
- such as AMPlifier, Winamp (*.m3u) and others.
- -playlist format: one file name per line, comment lines
- beginning with a '#' character are ignored.
-
- OUTFILE <filename>
- -write decoded data to this file (no playback).
- -the output file will be overwritten without warning!
- -output file format: raw PCM (no AIFF or WAV header),
- 16 bits per sample (big endian),
- number of channels (1=mono or 2=stereo) and sampling
- frequency (32000, 44100 or 48000 Hz) are taken from the
- MPEG input file.
- -note: you can use DelfSF to play the raw file.
- (Aminet:mus/play/DelfSF.lha)
-
- AREXX ......... -activate ARexx mode.
- -please read the file 'arexx.txt' for details.
- -there are some example scripts in the 'rexx' sub-directory
-
- VERBOSE/-v .... -output more information.
-
- NOPLAY/-n ..... -don't play but just output some information.
- -this works also without a Delfina board.
-
- SHOWTAG/-t .... -display ID3v1 tag before playing.
- -some extra information that can be appended to MPEG audio
- files, such as title, artist etc.
-
- MONO/-m ....... -decode only the left channel of stereo files.
- -WARNING: degrades playback quality!
- -this option can be used to reduce DSP load on Delfina Lite
- boards which have a slower DSP (40 MHz instead of 73 MHz)
-
- DACRATE/-d <number> (default: 0)
- -set Delfina's codec rate to a fixed value (in kHz).
- -WARNING: can degrade playback quality!
- -this option can be used to reduce DSP load on Delfina Lite
- boards which have a slower DSP (40 MHz instead of 73 MHz)
- -the default value of 0 (zero) means "best quality"
- -the given value is automatically rounded to the nearest
- available Delfina rate: 16, 27, 32 or 48 kHz.
- (for Delfina 1200 and Plus: 12, 24, 36 or 48 kHz)
-
- VOLUME/-vol <number> (default: 100)
- -set the playback volume (in per cent, range 0...200).
- -WARNING: can degrade playback quality!
- if the volume is boosted (101...200) there can distortions
- caused by output clipping.
-
- FRAMEBUF/-f <number> (default: 100)
- -set the number of read-ahead frame buffers.
- (does not influence performance)
-
- ASYNCBUF/-a <number> (default: 128)
- -set the size of the AsyncIO buffer (in Kbytes).
- (large IO-buffers = faster reading from disk)
-
- FFSKIP/-ff <number> (default: 10)
- -set the number of frames that are skipped during fast
- forward mode, i.e. when Ctrl-F is pressed
-
- NOFASTL/-nl
- NOFASTP/-np ... -the fast internal DSP memory is NOT used (L-data/Program)
- -only useful for benchmarks or debugging
-
- NOTIMER/-nt ... -suppress output of the position timer during playback.
- (recommended for playing background music while you are
- using other programs)
-
- STRICT/-s ..... -abort playback when an error in input file is detected.
- (normally DelfMPEG tries to continue playback by skipping
- the error in the file)
-
-
- During playback these keys can be used:
-
- Ctrl-F fast forward
- Ctrl-E pause/continue
- Ctrl-C stop current file, start next file
- Ctrl-D quit program
-
-
-
- #known problems
-
- -DelfMPEG only recognizes MPEG-1 audio files.
- not supported: MPEG-2 or mixed audio/video files.
-
- -some mp3 files are not played correctly! what's wrong with DelfMPEG?
-
- 1) DSP load approaches or exceeds the 100% limit on slow Delfinas.
- symptom: audible "drop-outs", DECODER_BUSY warning in VERBOSE mode.
- actions: use MONO or DACRATE options to reduce DSP load (and quality)
- or overclock your Delfina Lite (by hardware modification or
- software hack "DelfTweak") or buy a new, faster Delfina.
-
- 2) in VERBOSE mode an "unexpected EOF" error is reported for some files.
- symptom: just the error message.
- actions: this seems to be caused by some (bad) MPEG audio encoders that
- truncate the last frame in mp3 files. use LAME instead, it's
- the best mp3 encoder around, IMO.
-
- -DelfMPEG causes deadlocks/crashes.
-
- 1) delfina.library 4.14 - the "fake crash" bug
- symptom: soon after DelfMPEG started playing the "Delfina crashed"
- requester appears; DelfLoad display jumps to 100%.
- actions: wait for Petsoff to release a fixed delfina.library.
- ignore the "Delfina crashed" requester (that's right, do not
- reply it while DelfMPEG is playing).
- or you could use an older version of delfina.library (4.13 or
- lower) - not recommended, there seem to be other problems.
-
- 2) delfina.library 4.14 and lower - the "AHI killer" bug
- symptom: AHI and DelfAIFF crash if used after DelfMPEG. the system
- freezes and must be rebooted.
- actions: wait for Petsoff to release a fixed delfina.library.
- use the NOFASTP option of DelfMPEG, it avoids the bug but it
- also slows down the decoder!
- or use the workaround: quit DelfMPEG and all other Delfina
- programs, use "avail flush" to remove delfina.library from
- memory and then start your AHI programs.
-
- 3) delfina.library beta versions > 4.14 - the "sudden freeze" problem
- symptom: while playing MPEG files the system might suddenly "freeze"
- (playback stops; CPU load jumps to 100%, thus blocking any
- running applications)
- actions: the reason for this problem is not known. it could be a bug
- in delfina.library, at least there exists an unofficial
- patched version of the library that seems to work better.
-
-
-
- #acknowledgements
-
- DelfMPEG uses ideas/code from:
-
- -MPEG Audio Layer II decoder by Fredrik Noring and Tomas Berndtsson
- (an mp2 player for Atari Falcon, DSP56K code)
- -amp11 by Niklas Beisert (clean and fast C++ code)
- -FalcAMP by Denis "STGhost" Huguet and David "Splash" Carrere
- (an mp3 player for Atari Falcon, DSP56K code)
- -reference code by MPEG Software Simulation Group ("the original" C code)
-
-
-
- #author
-
- mailto: smack42@web.de
-
- DelfMPEG - MPEG audio player for Delfina DSP
- Copyright (C) 1999-2002 Michael Henke
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-